Report errors to Home Assistant - #47
Conversation
… any Console/LIN UART errors and node errors.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details🔇 Additional comments (2)
Summary by CodeRabbit
WalkthroughChangesThe AVR and ESP firmware now transmit, store, decode, and expose communication errors. LIN probing and node polling use updated APIs. Home Assistant diagnostics now include the error list. The clang tidy workflow uses a stricter failure threshold. Communication error reporting
Clang analysis threshold
Merge Risk: 🔵 Low · up to This change adds communication-error diagnostics for Home Assistant. An open initialization-path concern could cause the controller to stall under continuous LIN traffic, so it should be addressed or explicitly accepted before merge. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This comment was marked as off-topic.
This comment was marked as off-topic.
There was a problem hiding this comment.
Actionable comments posted: 3
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: 69e87a79-6d98-4fa0-8470-591d02ba98b2
📒 Files selected for processing (12)
.github/workflows/clang.ymlREADME.mdinclude/avr/ConsoleHandler.hinclude/avr/LegHandler.hinclude/esp/ConsoleHandler.hinclude/esp/DeskService.hsrc/avr/ConsoleHandler.cppsrc/avr/ControllerService.cppsrc/avr/LegHandler.cppsrc/esp/ConsoleHandler.cppsrc/esp/DeskService.cppsrc/esp/HomeAssistantHandler.cpp
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.
📜 Review details
🔇 Additional comments (13)
.github/workflows/clang.yml (1)
134-134: LGTM!include/avr/LegHandler.h (1)
31-31: LGTM!Also applies to: 93-98, 122-145
src/avr/ControllerService.cpp (1)
75-83: LGTM!Also applies to: 97-105
src/avr/LegHandler.cpp (1)
5-5: LGTM!Also applies to: 122-122
README.md (1)
199-212: LGTM!include/esp/ConsoleHandler.h (1)
25-27: LGTM!include/esp/DeskService.h (1)
18-30: LGTM!Also applies to: 109-123
src/esp/ConsoleHandler.cpp (2)
91-117: LGTM!
182-186: LGTM!src/esp/DeskService.cpp (3)
272-273: LGTM!
374-429: LGTM!
769-784: LGTM!src/esp/HomeAssistantHandler.cpp (1)
310-319: LGTM!
|
Note Docstrings generation - SUCCESS |
Docstrings generation was requested by @JanPetterMG. * #47 (comment) The following files were modified: * `include/avr/LegHandler.h` * `include/esp/ConsoleHandler.h` * `src/avr/ConsoleHandler.cpp` * `src/esp/ConsoleHandler.cpp` * `src/esp/DeskService.cpp` * `src/esp/HomeAssistantHandler.cpp`
There was a problem hiding this comment.
Actionable comments posted: 5
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: c23928f9-b93b-4b21-9215-7a88dc11d4e0
📒 Files selected for processing (7)
include/avr/LegHandler.hinclude/esp/DeskService.hsrc/avr/ConsoleHandler.cppsrc/avr/ControllerService.cppsrc/avr/LegHandler.cppsrc/esp/ConsoleHandler.cppsrc/esp/DeskService.cpp
🚧 Files skipped from review as they are similar to previous changes (1)
- src/avr/ConsoleHandler.cpp
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.
📜 Review details
⏰ Context from checks skipped due to timeout. (2)
- GitHub Check: Minimal (esp32-c6-zero-b)
- GitHub Check: Full (esp32-c6-zero-b)
⚠️ CI failures not shown inline (7)
GitHub Actions: Clang / 0_Tidy (esp32-c6-zero-b).txt: Report errors to Home Assistant
Conclusion: failure
##[group]Run cat <<'EOL' > include/esp/secrets.h
�[36;1mcat <<'EOL' > include/esp/secrets.h�[0m
�[36;1m#pragma once�[0m
�[36;1m#ifdef ARDUINO_ARCH_ESP32�[0m
�[36;1m#define HOSTNAME "bekant"�[0m
�[36;1m#define MQTT_HOST "localhost"�[0m
�[36;1m#define MQTT_KEY "redacted"�[0m
�[36;1m#define MQTT_USER "redacted"�[0m
�[36;1m#define NAME "Bekant"�[0m
�[36;1m#define OTA_KEY "redacted"�[0m
�[36;1m#define PIN_ADC 1�[0m
�[36;1m#define PIN_LED 2�[0m
�[36;1m#define PIN_MISO 3�[0m
�[36;1m#define PIN_MOSI 4�[0m
�[36;1m#define PIN_OE 5�[0m
�[36;1m#define PIN_RST 6�[0m
�[36;1m#define PIN_SCK 7�[0m
�[36;1m#define PIN_TPDN 8�[0m
�[36;1m#define PIN_TPUP 9�[0m
�[36;1m#define WIFI_KEY "redacted"�[0m
�[36;1m#define WIFI_SSID "redacted"�[0m
�[36;1m#endif // ARDUINO_ARCH_ESP32�[0m
�[36;1mEOL�[0m
�[36;1muv run pio run -t compiledb -e "$PIO_ENVIRONMENT"�[0m
shell: /usr/bin/bash -e {0}
env:
UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
UV_PYTHON: 3.11
UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
PIO_ENVIRONMENT: esp32-c6-zero-b
##[endgroup]
Downloading cpython-3.11.15-linux-x86_64-gnu (download) (29.5MiB)
Downloaded cpython-3.11.15-linux-x86_64-gnu (download)
Using CPython 3.11.15
Creating virtual environment at: .venv
Installed 22 packages in 15ms
********************************************************************************
If you like PlatformIO, please:
- star it on GitHub > https://github.com/platformio/platformio-core
- follow us on LinkedIn to stay up-to-date on the latest project news > https://www.linkedin.com/company/platformio/
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
********************************************************************************
Processing esp32-c6-zero-b (board: esp32-c6-devkitm-1; platform: https://api.github.com/repos/pioarduino/platform-espressif32/tarball/55.03.311; framework: arduino)
--------------------------------------------------...
GitHub Actions: Clang / Tidy (esp32-c6-zero-b): Report errors to Home Assistant
Conclusion: failure
##[group]Run cat <<'EOL' > include/esp/secrets.h
�[36;1mcat <<'EOL' > include/esp/secrets.h�[0m
�[36;1m#pragma once�[0m
�[36;1m#ifdef ARDUINO_ARCH_ESP32�[0m
�[36;1m#define HOSTNAME "bekant"�[0m
�[36;1m#define MQTT_HOST "localhost"�[0m
�[36;1m#define MQTT_KEY "redacted"�[0m
�[36;1m#define MQTT_USER "redacted"�[0m
�[36;1m#define NAME "Bekant"�[0m
�[36;1m#define OTA_KEY "redacted"�[0m
�[36;1m#define PIN_ADC 1�[0m
�[36;1m#define PIN_LED 2�[0m
�[36;1m#define PIN_MISO 3�[0m
�[36;1m#define PIN_MOSI 4�[0m
�[36;1m#define PIN_OE 5�[0m
�[36;1m#define PIN_RST 6�[0m
�[36;1m#define PIN_SCK 7�[0m
�[36;1m#define PIN_TPDN 8�[0m
�[36;1m#define PIN_TPUP 9�[0m
�[36;1m#define WIFI_KEY "redacted"�[0m
�[36;1m#define WIFI_SSID "redacted"�[0m
�[36;1m#endif // ARDUINO_ARCH_ESP32�[0m
�[36;1mEOL�[0m
�[36;1muv run pio run -t compiledb -e "$PIO_ENVIRONMENT"�[0m
shell: /usr/bin/bash -e {0}
env:
UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
UV_PYTHON: 3.11
UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
PIO_ENVIRONMENT: esp32-c6-zero-b
##[endgroup]
Downloading cpython-3.11.15-linux-x86_64-gnu (download) (29.5MiB)
Downloaded cpython-3.11.15-linux-x86_64-gnu (download)
Using CPython 3.11.15
Creating virtual environment at: .venv
Installed 22 packages in 15ms
********************************************************************************
If you like PlatformIO, please:
- star it on GitHub > https://github.com/platformio/platformio-core
- follow us on LinkedIn to stay up-to-date on the latest project news > https://www.linkedin.com/company/platformio/
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
********************************************************************************
Processing esp32-c6-zero-b (board: esp32-c6-devkitm-1; platform: https://api.github.com/repos/pioarduino/platform-espressif32/tarball/55.03.311; framework: arduino)
--------------------------------------------------...
GitHub Actions: Clang / 1_Tidy (attiny841).txt: Report errors to Home Assistant
Conclusion: failure
##[group]Run let action_path = $env.GITHUB_ACTION_PATH | path expand
�[36;1mlet action_path = $env.GITHUB_ACTION_PATH | path expand�[0m
�[36;1m$env.UV_INSTALL_DIR = $action_path | path join 'bin'�[0m
�[36;1m�[0m
�[36;1m$env.UV_CACHE_DIR = $env.RUNNER_TEMP | path join 'cpp-linter-action-cache'�[0m
�[36;1mif (not ($env.UV_CACHE_DIR | path exists)) {�[0m
�[36;1m mkdir $env.UV_CACHE_DIR�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing uv version ($env.UV_VERSION)(ansi reset)"�[0m
�[36;1mlet is_windows = (version | get "build_os") | str starts-with "windows"�[0m
�[36;1mlet uv_installer_url = if $is_windows {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.ps1"�[0m
�[36;1m} else {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.sh"�[0m
�[36;1m}�[0m
�[36;1mlet installer = http get --raw --redirect-mode follow $uv_installer_url�[0m
�[36;1mif $is_windows {�[0m
�[36;1m ^powershell -ExecutionPolicy ByPass $installer�[0m
�[36;1m} else {�[0m
�[36;1m $installer | ^sh�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mlet gh_action_debug = $env | get --optional 'ACTIONS_STEP_DEBUG'�[0m
�[36;1mlet action_verbosity = 'info' == 'debug'�[0m
�[36;1mlet verbosity = (�[0m
�[36;1m $action_verbosity�[0m
�[36;1m or ($gh_action_debug == true)�[0m
�[36;1m or ($gh_action_debug == 'true')�[0m
�[36;1m)�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing workflow dependencies(ansi reset)"�[0m
�[36;1mmut uv_args = [sync --project $action_path --group action --no-dev --link-mode=copy]�[0m
�[36;1mif $verbosity {�[0m
�[36;1m $uv_args = $uv_args | append '-v'�[0m
�[36;1m}�[0m
�[36;1m^$'($env.UV_INSTALL_DIR)/uv' ...$uv_args�[0m
�[36;1m�[0m
�[36;1mlet version_str = '21'�[0m
�[36;1mif ($version_str | is-empty) {�[0m
�[36;1m print $"(ansi yellow)Using platform default clang tools \(version not specified)(ansi reset)"�[0m
�[36;1m exit 0�[0m
�[36;1m}�[0m
�[36;1mlet version = try {�[0m
�[36;1m $version_str | into ...
GitHub Actions: Clang / Tidy (attiny841): Report errors to Home Assistant
Conclusion: failure
##[group]Run let action_path = $env.GITHUB_ACTION_PATH | path expand
�[36;1mlet action_path = $env.GITHUB_ACTION_PATH | path expand�[0m
�[36;1m$env.UV_INSTALL_DIR = $action_path | path join 'bin'�[0m
�[36;1m�[0m
�[36;1m$env.UV_CACHE_DIR = $env.RUNNER_TEMP | path join 'cpp-linter-action-cache'�[0m
�[36;1mif (not ($env.UV_CACHE_DIR | path exists)) {�[0m
�[36;1m mkdir $env.UV_CACHE_DIR�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing uv version ($env.UV_VERSION)(ansi reset)"�[0m
�[36;1mlet is_windows = (version | get "build_os") | str starts-with "windows"�[0m
�[36;1mlet uv_installer_url = if $is_windows {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.ps1"�[0m
�[36;1m} else {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.sh"�[0m
�[36;1m}�[0m
�[36;1mlet installer = http get --raw --redirect-mode follow $uv_installer_url�[0m
�[36;1mif $is_windows {�[0m
�[36;1m ^powershell -ExecutionPolicy ByPass $installer�[0m
�[36;1m} else {�[0m
�[36;1m $installer | ^sh�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mlet gh_action_debug = $env | get --optional 'ACTIONS_STEP_DEBUG'�[0m
�[36;1mlet action_verbosity = 'info' == 'debug'�[0m
�[36;1mlet verbosity = (�[0m
�[36;1m $action_verbosity�[0m
�[36;1m or ($gh_action_debug == true)�[0m
�[36;1m or ($gh_action_debug == 'true')�[0m
�[36;1m)�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing workflow dependencies(ansi reset)"�[0m
�[36;1mmut uv_args = [sync --project $action_path --group action --no-dev --link-mode=copy]�[0m
�[36;1mif $verbosity {�[0m
�[36;1m $uv_args = $uv_args | append '-v'�[0m
�[36;1m}�[0m
�[36;1m^$'($env.UV_INSTALL_DIR)/uv' ...$uv_args�[0m
�[36;1m�[0m
�[36;1mlet version_str = '21'�[0m
�[36;1mif ($version_str | is-empty) {�[0m
�[36;1m print $"(ansi yellow)Using platform default clang tools \(version not specified)(ansi reset)"�[0m
�[36;1m exit 0�[0m
�[36;1m}�[0m
�[36;1mlet version = try {�[0m
�[36;1m $version_str | into ...
GitHub Actions: Clang / Tidy (attiny841): Report errors to Home Assistant
Conclusion: failure
##[group]Run echo "Status: 12 checks failed, threshold for success is 1."
�[36;1mecho "Status: 12 checks failed, threshold for success is 1."�[0m
�[36;1mecho "Clang report:"�[0m
�[36;1mif [ -n "47" ]; then�[0m
�[36;1m echo "https://github.com/VIPnytt/Bekant/actions/runs/34408408719?pr=47"�[0m
�[36;1melse�[0m
�[36;1m echo "https://github.com/VIPnytt/Bekant/actions/runs/34408408719"�[0m
�[36;1mfi�[0m
�[36;1mexit $(( 12 > 1 ))�[0m
shell: /usr/bin/bash -e {0}
env:
UV_PYTHON_INSTALL_DIR: /home/runner/work/_temp/uv-python-dir
UV_PYTHON: 3.11
UV_CACHE_DIR: /home/runner/work/_temp/setup-uv-cache
clang-threshold: 1
##[endgroup]
Status: 12 checks failed, threshold for success is 1.
Clang report:
https://github.com/VIPnytt/Bekant/actions/runs/34408408719?pr=47
##[error]Process completed with exit code 1.
GitHub Actions: Clang / 2_Format.txt: Report errors to Home Assistant
Conclusion: failure
##[group]Run let action_path = $env.GITHUB_ACTION_PATH | path expand
�[36;1mlet action_path = $env.GITHUB_ACTION_PATH | path expand�[0m
�[36;1m$env.UV_INSTALL_DIR = $action_path | path join 'bin'�[0m
�[36;1m�[0m
�[36;1m$env.UV_CACHE_DIR = $env.RUNNER_TEMP | path join 'cpp-linter-action-cache'�[0m
�[36;1mif (not ($env.UV_CACHE_DIR | path exists)) {�[0m
�[36;1m mkdir $env.UV_CACHE_DIR�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing uv version ($env.UV_VERSION)(ansi reset)"�[0m
�[36;1mlet is_windows = (version | get "build_os") | str starts-with "windows"�[0m
�[36;1mlet uv_installer_url = if $is_windows {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.ps1"�[0m
�[36;1m} else {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.sh"�[0m
�[36;1m}�[0m
�[36;1mlet installer = http get --raw --redirect-mode follow $uv_installer_url�[0m
�[36;1mif $is_windows {�[0m
�[36;1m ^powershell -ExecutionPolicy ByPass $installer�[0m
�[36;1m} else {�[0m
�[36;1m $installer | ^sh�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mlet gh_action_debug = $env | get --optional 'ACTIONS_STEP_DEBUG'�[0m
�[36;1mlet action_verbosity = 'info' == 'debug'�[0m
�[36;1mlet verbosity = (�[0m
�[36;1m $action_verbosity�[0m
�[36;1m or ($gh_action_debug == true)�[0m
�[36;1m or ($gh_action_debug == 'true')�[0m
�[36;1m)�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing workflow dependencies(ansi reset)"�[0m
�[36;1mmut uv_args = [sync --project $action_path --group action --no-dev --link-mode=copy]�[0m
�[36;1mif $verbosity {�[0m
�[36;1m $uv_args = $uv_args | append '-v'�[0m
�[36;1m}�[0m
�[36;1m^$'($env.UV_INSTALL_DIR)/uv' ...$uv_args�[0m
�[36;1m�[0m
�[36;1mlet version_str = '21'�[0m
�[36;1mif ($version_str | is-empty) {�[0m
�[36;1m print $"(ansi yellow)Using platform default clang tools \(version not specified)(ansi reset)"�[0m
�[36;1m exit 0�[0m
�[36;1m}�[0m
�[36;1mlet version = try {�[0m
�[36;1m $version_str | into ...
GitHub Actions: Clang / Format: Report errors to Home Assistant
Conclusion: failure
##[group]Run let action_path = $env.GITHUB_ACTION_PATH | path expand
�[36;1mlet action_path = $env.GITHUB_ACTION_PATH | path expand�[0m
�[36;1m$env.UV_INSTALL_DIR = $action_path | path join 'bin'�[0m
�[36;1m�[0m
�[36;1m$env.UV_CACHE_DIR = $env.RUNNER_TEMP | path join 'cpp-linter-action-cache'�[0m
�[36;1mif (not ($env.UV_CACHE_DIR | path exists)) {�[0m
�[36;1m mkdir $env.UV_CACHE_DIR�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing uv version ($env.UV_VERSION)(ansi reset)"�[0m
�[36;1mlet is_windows = (version | get "build_os") | str starts-with "windows"�[0m
�[36;1mlet uv_installer_url = if $is_windows {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.ps1"�[0m
�[36;1m} else {�[0m
�[36;1m $"https://astral.sh/uv/($env.UV_VERSION)/install.sh"�[0m
�[36;1m}�[0m
�[36;1mlet installer = http get --raw --redirect-mode follow $uv_installer_url�[0m
�[36;1mif $is_windows {�[0m
�[36;1m ^powershell -ExecutionPolicy ByPass $installer�[0m
�[36;1m} else {�[0m
�[36;1m $installer | ^sh�[0m
�[36;1m}�[0m
�[36;1m�[0m
�[36;1mlet gh_action_debug = $env | get --optional 'ACTIONS_STEP_DEBUG'�[0m
�[36;1mlet action_verbosity = 'info' == 'debug'�[0m
�[36;1mlet verbosity = (�[0m
�[36;1m $action_verbosity�[0m
�[36;1m or ($gh_action_debug == true)�[0m
�[36;1m or ($gh_action_debug == 'true')�[0m
�[36;1m)�[0m
�[36;1m�[0m
�[36;1mprint $"\n(ansi purple)Installing workflow dependencies(ansi reset)"�[0m
�[36;1mmut uv_args = [sync --project $action_path --group action --no-dev --link-mode=copy]�[0m
�[36;1mif $verbosity {�[0m
�[36;1m $uv_args = $uv_args | append '-v'�[0m
�[36;1m}�[0m
�[36;1m^$'($env.UV_INSTALL_DIR)/uv' ...$uv_args�[0m
�[36;1m�[0m
�[36;1mlet version_str = '21'�[0m
�[36;1mif ($version_str | is-empty) {�[0m
�[36;1m print $"(ansi yellow)Using platform default clang tools \(version not specified)(ansi reset)"�[0m
�[36;1m exit 0�[0m
�[36;1m}�[0m
�[36;1mlet version = try {�[0m
�[36;1m $version_str | into ...
🔇 Additional comments (3)
include/avr/LegHandler.h (1)
34-39: LGTM!Also applies to: 72-83, 131-150
include/esp/DeskService.h (1)
26-28: LGTM!Also applies to: 109-115
src/esp/ConsoleHandler.cpp (1)
96-98: 🗄️ Data Integrity & IntegrationNo change required. The AVR and ESP
Stateenumerators have matching values. NolastErrormember or references remain;onReceiveErroronly logs the hardware error.
95ae332 to
d46ca46
Compare
There was a problem hiding this comment.
Actionable comments posted: 2
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Advanced
Run ID: ce937cba-71f3-4079-b45f-07f2b766796c
📒 Files selected for processing (9)
include/avr/ControllerService.hinclude/avr/LegHandler.hinclude/esp/ConsoleHandler.hinclude/esp/DeskService.hsrc/avr/ConsoleHandler.cppsrc/avr/ControllerService.cppsrc/avr/LegHandler.cppsrc/esp/ConsoleHandler.cppsrc/esp/DeskService.cpp
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.
📜 Review details
⏰ Context from checks skipped due to timeout. (3)
- GitHub Check: Minimal (esp32-c6-zero-b)
- GitHub Check: Full (esp32-c6-zero-b)
- GitHub Check: Tidy (esp32-c6-zero-b)
🔇 Additional comments (4)
include/avr/ControllerService.h (1)
69-69: LGTM!include/avr/LegHandler.h (1)
27-33: LGTM!Also applies to: 35-46, 61-63, 74-90, 101-106, 116-121, 124-135, 138-157
src/avr/ConsoleHandler.cpp (1)
18-18: LGTM!Also applies to: 98-98
src/avr/LegHandler.cpp (1)
15-15: LGTM!Also applies to: 27-31, 36-46, 59-60, 65-76, 89-106, 109-120, 143-143, 151-161, 170-191
|
🤖 Completed: Generate docstrings for PR #47 — View PR #50 |
…s/d47a8e5e Document LIN and desk error-handling APIs
This comment was marked as off-topic.
This comment was marked as off-topic.
|
@coderabbitai review |
✅ Action performedReview finished.
|
Enhance error reporting by sending various communication errors, including desk initialization and UART errors, to Home Assistant for better diagnostics.